Welcome to pandas!

2.6 表格选择之切片法

切片法的基础结构为df[……],在此基础结构上进行变化,可以选择出行、列、区域。 切片的优点在于简单直接,缺点在于表现形式不够多样化。

行选择 :无论表格的行索引是否设置了标签,都可以按行索引序号先择行

列选择 :分为单列或多列,单列的表示方法是df[“列标签”], 多列表示方法是df[[ “列标签1”,“列标签2”,“列标签3” ……]], 不但可以表示成df[“列标签注”], 还可以表奈 成df.列标签。选择多列则是将索引标签放置在列表、数组、Seires等数据中,最为常见的还是放置在列表中,

区域选择 :就是多行多列的选择。也就是将行、将行、列的选择交叉在一起,书写格式为df[行索引][列索引]


原数据:

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =0)

print(t)

(df)

返回:

姓名 姓别 1月 2月 3月
序号
NED01 小王 87 79 37
NED02 小曾 55 27 48
NED03 小李 34 47 85
NED04 小张 67 85 59
NED05 小林 67 49 76

2.6.1行切片

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col=0)

t=df[1:3]

print(t)

返回:

姓名 姓别 1月 2月 3月
序号
NED02 小曾 55 27 48
NED03 小李 34 47 85

以实际ID序号

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =0)

t=df[ "NED01":"NED03" ]

print(t)

返回:

姓名 姓别 1月 2月 3月
序号
NED01 小王 87 79 37
NED02 小曾 55 27 48
NED03 小李 34 47 85

按行选择,返回的都是DataFrame表格


2.6.2列切片

按单列选择,返回的时一个Seires数据

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =0)

t=df[ "姓名" ]

print(t)

返回:

序号

NED01      小王

NED02      小曾

NED03      小李

NED04      小张

NED05      小林

Name: 姓名, dtype: object


多列选择

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =0)

t=df[[ "姓名","姓别" ]]

print (t)

姓名 姓别
序号
NED01 小王
NED02 小曾
NED03 小李
NED04 小张
NED05 小林

2.6.3区域切片(行列交叉)

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path,index_col=0)

t=df[1:3][[ "姓名","姓别","1月","2月" ]]

print(t)

返回:

姓名 姓别 1月 2月
序号
NED02 小曾 55 27
NED03 小李 34 47